package cn.edu.hstc.wm.utils;

public class PositionUtil {

	/**
	 * 地球半径,m
	 */
	private static final double EARTH_RADIUS = 6378137.0;

	/**
	 * 根据两点位置来获取两点间距离
	 * 
	 * @param lat_a
	 *            A点纬度
	 * @param lng_a
	 *            A点经度
	 * @param lat_b
	 *            B点纬度
	 * @param lng_b
	 *            B点经度
	 * @return 返回两件距离,米
	 */
	public static double gps2m(double lat_a, double lng_a, double lat_b, double lng_b) {

		double radLat1 = (lat_a * Math.PI / 180.0);
		double radLat2 = (lat_b * Math.PI / 180.0);
		double a = radLat1 - radLat2;
		double b = (lng_a - lng_b) * Math.PI / 180.0;
		double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
		s = s * EARTH_RADIUS;
		s = Math.round(s * 10000) / 10000;
		return s;
	}

	public static double gps2Distance() {
		return 0;
	}
}
